import logging
import logging.handlers
from config import BASE_DIR


def init_log():
    # 1创建日志对象
    logger = logging.getLogger()
    # 2设置打印级别
    logger.setLevel(logging.INFO)
    # 3创建处理器对象
    # 3.1调试器对象
    st = logging.StreamHandler()
    # 3.2文件调试器对象
    fh = logging.handlers.TimedRotatingFileHandler(filename=BASE_DIR + "/log/ego.log",  # 文件保存路径
                                                   when='midnight',  # 间隔时间
                                                   interval=1,  # 间隔(保存文件的周期）
                                                   backupCount=7,  # 周期(保留文件的个数)
                                                   encoding='utf-8'
                                                   )
    # 4.日志输出格式
    fmt = "%(asctime)s %(levelname)s [%(name)s] [%(filename)s(%(funcName)s:%(lineno)d)] - %(message)s"
    formatter = logging.Formatter(fmt)
    # 5.给处理器添加日志信息格式
    st.setFormatter(formatter)
    fh.setFormatter(formatter)
    # 6.给日志对象添加处理器
    logger.addHandler(st)
    logger.addHandler(fh)
